/*
 * Copyright© 2003-2019 浙江汇信科技有限公司, All Rights Reserved.
 */
package com.icinfo.cloud.provider.punish.config.service;

import com.icinfo.cloud.provider.punish.config.dto.ConfigPaymentChannelInfoQueryDto;
import com.icinfo.cloud.provider.punish.config.model.ConfigPaymentChannelInfo;
import com.icinfo.cloud.provider.punish.config.vo.ConfigPaymentChannelInfoVo;
import com.icinfo.framework.common.web.Result;
import com.icinfo.framework.core.service.BaseService;

import java.util.List;

/**
 * 描述: 缴费渠道信息配置表 config_payment_channel_info 对应的Service接口.<br>
 *
 * @author framework generator
 * @date 2022年03月01日
 */
public interface IConfigPaymentChannelInfoService extends BaseService {
    /**
     * 描述：同步缴费渠道配置信息
     *
     * @@return  {@link Result<String>} 同步结果
     * @author xiangyuyu
     * @date 2022-03-15 16:13
     */
    Result<String> synchronizePaymentChannelConfigInfo();


    /**
     * 【V1.0.0】描述：同步缴费渠道配置信息-同步区域编码信息
     *
     * @return {@link Result<String>} 同步结果
     * @author xiangyuyu
     * @date 2022-03-15 16:13
     */
    Result<String> synchronizePaymentChannelConfigInfoRegiInfo();


    /**
     * 描述：查询缴款渠道配置信息
     *
     * @param queryDto {@link ConfigPaymentChannelInfoQueryDto}
     * @return {@link List< com.icinfo.cloud.provider.punish.config.vo.ConfigPaymentChannelInfoVo >} 缴款渠道配置信息
     * @author xiangyuyu
     * @date 2022-03-01 16:51
     */
    List<ConfigPaymentChannelInfoVo> getPaymentChannelConfigInfo(ConfigPaymentChannelInfoQueryDto queryDto);

    /**
     * 描述：保存缴款渠道配置信息
     *
     * @param configPaymentChannelInfo {@link ConfigPaymentChannelInfo}
     * @return  Boolean 保存结果
     * @author xiangyuyu
     * @date 2022-03-01 16:51
     */
    Boolean savePaymentChannelConfigInfo(ConfigPaymentChannelInfo configPaymentChannelInfo);

    /**
     * 【V2.0.0】描述：根据机构编码查询机构缴款配置信息
     *
     * @param orgCode 机构编码
     * @return {@link Result<ConfigPaymentChannelInfoVo>} 缴款渠道配置信息
     * @author xiangyuyu
     * @date 2022-05-19 14:47
     */
    ConfigPaymentChannelInfoVo getPaymentChannelConfigInfoByOrgCode(String orgCode,String deptCode);
}